package cn.demographic.dao;

import java.util.List;
import java.util.Map;

import cn.demographic.entity.RegionAndNumberOfPeople;
import cn.demographic.entity.User;

public interface UserMapper {

	/**
	 * 查询信息详情
	 * @param user
	 * @return
	 */
	 User findUser(User user);
	
	/**
	 * 查询审核状态（审核中）的数据
	 * @param status
	 * @return
	 */
	List<User> findUserInTheReview(Integer status);


	/**
	  * 添加个人信息
	  * @param user
	  * @return
	  */
	 Integer addPersonal(User user);


	/**
	  * 查询录入信息审核状态的数量
	  * @param map
	  * @return
	  */
	 Long countUser(Map<String,Object> map);
	
	/**
	 * 录用信息审核的数据
	 * @return
	 */
	List<User> selectUser(Map<String,Object> map);
	
	/**
	 * 流动人口信息管理
	 * @return
	 */
	List<User> selectUserEmployment(Map<String,Object> map);
	
	/**
	 * 流动人口信息管理分页
	 * @return
	 */
	Long countUserEmployment(Map<String,Object> map);
	
	/**
	 * 修改个人信息
	 * @param user
	 * @return
	 */
	int updateUser(User record);

	
	/**
	 * 查询图表统计
	 * @param map
	 * @return
	 */
	List<RegionAndNumberOfPeople> selectRegionPeople(Map<String,Object> map);
	
	/**
	 * 查询图表统计(默认全国省份的人口数量)
	 * @param map
	 * @return
	 */
	List<RegionAndNumberOfPeople> selectProvincePeople(Map<String,Object> map);
	
	/**
	 * 	本月录入数量
	 * @param map
	 * @return
	 */
	Long selectCountPeople(Map<String,Object> map);
	/**
	 * 根据手机号查询数据库，是否已经存在该手机号
	 * @param mobilePhone
	 * @return
	 */
	Integer selectCountMobilePhone(String mobilePhone);
	
	/**
	 * 根据身份证查询是否存在该身份证号码
	 * @param citizenshipNumber
	 * @return
	 */
	Integer selectCountCitizenshipNumber(String citizenshipNumber);

}